package com.shenzj.wc

import org.apache.flink.api.scala.{DataSet, ExecutionEnvironment}
import org.apache.flink.api.scala._

object WordCount {
  def main(args: Array[String]): Unit = {
    // 创建一个批处理执行环境
    val env: ExecutionEnvironment = ExecutionEnvironment.getExecutionEnvironment

    // 从文件中读取数据
    val inputPath: String = "D:\\IntelliJ IDEA 2018.2.4\\Project\\Flink_Scala\\src\\main\\resources\\hello.text"
    val inputDataSet: DataSet[String] = env.readTextFile(inputPath)


    //对数据进行转换处理统计,先分词,在分组,最后聚合统计
    val resultDataSet: DataSet[(String,Int)] = inputDataSet
      .flatMap(_.split(" "))
      .map((_,1))
      .groupBy(0) // groupby 里面参数为key的下标,0是起始第一位
      .sum(1)  // 对所有数据的第二个元素求和


    // 打印输出
    resultDataSet.print()
  }
}
